package br.com.edumobi.activities;

import android.content.Intent;
import android.os.Bundle;

import br.com.edumobi.R;
import br.com.edumobi.dados.modelos.Questao;
import br.com.edumobi.dados.modelos.Simulado;
import br.com.edumobi.fragments.MSResultadoFragment;

public class MSResultadoActivity extends GenericaActivity implements MSResultadoFragment.AcoesMSResultadoFragment {

    public static final String EXTRA_SIMULADO = "EXTRA_SIMULADO";

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_ms_resultado);
    }

    @Override
    public int obterQtdAcertos() {
        int qtdQuestoes = obterSimulado().questoes.size();
        int qtdAcertos = 0;

        for (int index = 0; index < qtdQuestoes; index++) {
            Questao questao = obterSimulado().questoes.get(index);

            if (questao.respondida && questao.acertou) {
                qtdAcertos++;
            }
        }
        return qtdAcertos;
    }

    @Override
    public int obterQtdErros() {
        int qtdQuestoes = obterSimulado().questoes.size();
        int qtdErros = 0;

        for (int index = 0; index < qtdQuestoes; index++) {
            Questao questao = obterSimulado().questoes.get(index);

            if (questao.respondida && !questao.acertou) {
                qtdErros++;
            }
        }

        return qtdErros;
    }

    @Override
    public int obterQtdNaoRespondidos() {
        int qtdQuestoes = obterSimulado().questoes.size();
        int QtdNaoRespondidos = 0;

        for (int index = 0; index < qtdQuestoes; index++) {
            Questao questao = obterSimulado().questoes.get(index);

            if (!questao.respondida) {
                QtdNaoRespondidos++;
            }
        }

        return QtdNaoRespondidos;
    }

    @Override
    public Simulado obterSimulado() {
        return (Simulado) getIntent().getSerializableExtra(EXTRA_SIMULADO);
    }

    @Override
    public void reiniciar() {
        int qtdQuestoes = obterSimulado().questoes.size();

        for (int index = 0; index < qtdQuestoes; index++) {
            obterSimulado().questoes.get(index).respondida = false;
            obterSimulado().questoes.get(index).acertou = false;
            obterSimulado().questoes.get(index).idAlternativaSelecionada = null;
        }

        Intent intent = new Intent(this, MSQuestaoActivity.class);
        intent.putExtra(MSQuestaoActivity.EXTRA_SIMULADO, getIntent().getSerializableExtra(EXTRA_SIMULADO));
        startActivity(intent);
        finish();
    }

    @Override
    public void finalizar() {
        finish();
    }
}